<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 transitional//EN">
<html>
<head>
<title>Design Element Element (Eclipse BIRT ROM Documentation)</title>
<link rel="stylesheet" href="../style/style.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p class="title">Eclipse BIRT Report Object Model (ROM)</p>
<p class="subtitle">DesignElement Element</p>
<h1>Element Overview</h1>
<div class="section-text">
Abstract element that represents anything
that has properties.</div>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Display Name:</td>
<td>Design Element</td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>XML Element:</td>
<td><code>None</code></td></tr>
<tr><td>Extends:</td>
<td>None</td></tr>
<tr><td>Extendable:</td>
<td>No</td></tr>
<tr><td>Abstract:</td>
<td>Yes</td></tr>
<tr><td>Name Space:</td>
<td>None</td></tr>
<tr><td>Name Requirement:</td>
<td>Not Supported</td></tr>
<tr><td>Allows User Properties:</td>
<td>Yes</td></tr>
<tr><td>Has Style:</td>
<td>No</td></tr>
</table>

<h3>Property Summary</h3>

<dl class="section-text">
<dt><a href="#Property-customXml">customXml</a></dt>
<dd>Custom XML associated with an element.</dd>
<dt><a href="#Property-propertyMasks">propertyMasks</a></dt>
<dd>List of user-defined property masks.</dd>
<dt><a href="#Property-userProperties">userProperties</a></dt>
<dd>List of user-defined properties for the element.</dd>
</dl>

<h3>Description</h3>

<div class="section-text">
<p>The design element is an internal, abstract element used to implement basic 
features of ROM elements. It provides the following:</p>

<ul>
<li>User-defined property definitions</li>
<li>Property values as name/value pairs</li>
<li>Customization of which properties can appear in the UI</li>
<li>Methods</li>
<li>Custom XML</li>
</ul>

<p>
The design element provides a framework for customizing properties. The 
developer can add application-specific properties. These properties appear in 
the JRP ERD property sheet identically to ROM-defined properties. The developer 
can identify the property type using a wide variety of choices. JRP ERD 
automatically displays a property builder UI based on the property type. The 
developer can also hide JRP ERD or custom-defined properties.<p>
<p>
The developer can add custom properties to a component, and can hide ROM-defined 
properties. Together, these help the developer create highly customized, 
reusable components tailored to the needs of a given application.</p>

<p>The <code>DesignElementDefn</code> object is available to
your scripts. It provides the information about the design of an
object. Every ROM element has design information, and many have
separate run-time information. The design object provides access to
the information defined in the XML schema file. It is most useful
to get access to user-defined properties and property values so
that scripts can customize report behavior.</p>

<p>Not all properties are available for all
kinds of elements. See the derived element definitions for
details.</p>

<p>Some of the elements derived from this one
support inheritance. If so, then the value of the above properties
include values inherited up the inheritance chain.</p></div>
<h1>Property Detail</h1>

<h2><a name="Property-customXml">customXml Property</a></h2>

<p class="section-text">Custom XML associated with an element.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td><a href="../types.html#xml">xml</a></td></tr>
<tr><td>Since:</td>
<td>1.0</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Custom XML</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Visible</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p><p>Applications can associate their own XML
with any ROM report element. BIRT ignores this XML other than to
make it available to user scripts. User scripts can use this XML to
provide custom report behavior.</p>

<p>The XML must be valid. XML elements must be
balanced. The XML should use a third-party name space, but the name
space is not required.</p></p></div>
<h3>See Also</h3>

<div class="section-text">
<p>User-defined properties for another way to
customize an element.</p></div>

<hr>
<h2><a name="Property-propertyMasks">propertyMasks Property</a></h2>

<p class="section-text">List of user-defined property masks.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td>List of <a href="../structs/PropertyMask.html">PropertyMask</a> Structures</td></tr>
<tr><td>Since:</td>
<td>reserved</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>Property masks</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Hidden</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p><p>Property masks allow the user to customize
the set of properties available for a reusable component. Null if no masks are 
defined. Each item in the array is a <code>PropertyMask</code> object.</p></p></div>
<h3>See Also</h3>

<div class="section-text">
<p>Property Mask structure</p></div>

<hr>
<h2><a name="Property-userProperties">userProperties Property</a></h2>

<p class="section-text">List of user-defined properties for the element.</p>
<h3>Details</h3>

<table class="detail-table">
<tr><td>Type:</td>
<td>List of <a href="../structs/UserProperty.html">UserProperty</a> Structures</td></tr>
<tr><td>Since:</td>
<td>reserved</td></tr>
<tr><td>Required:</td>
<td>No</td></tr>
<tr><td>Display Name:</td>
<td>User properties</td></tr>
<tr><td>JavaScript Type:</td>
<td></td></tr>
<tr><td>Default Value:</td>
<td>None</td></tr>
<tr><td>Inherited:</td>
<td>Yes</td></tr>
<tr><td>Runtime Settable:</td>
<td>No</td></tr>
<tr><td>Property Sheet Visibility:</td>
<td>Hidden</td></tr>
<tr><td>Property Sheet Group:</td>
<td>Top</td></tr>
</table>

<h3>Description</h3>

<div class="section-text">
<p>The list of user-defined properties defined
for this element. Null if no user-defined properties are available. Each item in 
the array is a <code>UserProperty</code> object.</p>

<p>As noted above, JRP ERD 
elements can define custom properties. A property has two parts: a definition 
and a value. The definition provides the name, type and other descriptive 
information. The value is something that another developer enters to set the 
property. For example, suppose the developer defines an &quot;AlertColor&quot; property 
for a library component. A developer who uses this element might set the value 
of the property to &quot;Red.&quot;</p></div>
<h3>See Also</h3>

<div class="section-text">
<p>User Property Definition structure</p></div>
</body>
</html>
